using System;
using System.Collections.Generic;

using Impact.Model.Objects;

namespace Impact.Views
{

    /// <summary>
    /// this interface defines the methods necessary for a view that implements article
    /// editing functionality
    /// </summary>
    public interface IArticleEditorView
    {
        /// <summary>
        /// populate the fields on the form with an Article object
        /// </summary>
        void PopulateForm();

        /// <summary>
        /// read the data concerning the article off of the form
        /// </summary>
        /// <returns>an article object filled with the form data</returns>
        Article GetArticleData();

        /// <summary>
        /// retrieve the tags the user has typed in as a list
        /// </summary>
        List<string> GetTags();

    }
}
